﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PetaPoco{

    public class TransmitData<T>
    {
        public TransmitData() { }

        public T Body { get; set; }
        public DateTime CreateTime { get; set; }
        public DateTime ListenedDate { get; set; }
        public string OriginBatchGuid { get; set; }
        public string OriginKey { get; set; }
        public int OriginProcessCenterId { get; set; }
        public string Remark { get; set; }
        public string Sender { get; set; }
        public int TargetProcessCenterId { get; set; }
        public string Title { get; set; }
        public TransmitCategory TransmitCategory { get; set; }
        public TransmitSubCategory TransmitSubCategory { get; set; }
    }
    public enum TransmitCategory
    {
        Product = 1,
        ProductShift = 2,
        ProductRackStock = 3,
        ProductShiftWhiteList = 4,
        PurchasePackage = 5,
        ProductShiftBatch = 6,
        LostBill = 7,
        ProductShiftRequest = 8,
        LostBillRequest = 9,
        ProductCheckRequest = 10,
    }
    public enum TransmitSubCategory
    {
        None = 0,
        Product_Add = 1001,
        Product_Update = 1002,
        Product_Volume_Update = 1003,
        Product_Weight_Update = 1004,
        Product_Processing_Update = 1005,
        Product_Packing_Update = 1006,
        Product_Basic_Update = 1007,
        Product_Parameters_Update = 1008,
        Product_Label_Update = 1009,
        Product_Image_Update = 1010,
        Product_Same_Walk = 1011,
        ProductShift_AddOrUpdate = 2001,
        ProductShift_DeleteMain = 2002,
        ProductShift_DeleteItem = 2003,
        ProductShift_ModifiedRemark = 2004,
        ProductShift_ModifiedWeight = 2005,
        ProductShift_ModifiedProductShiftStatus = 2006,
        ProductRackStock_Update = 3001,
        ProductRackStock_QuantityChange = 3002,
        ProductRackStock_Delete = 3003,
        ProductRackStock_SetDefault = 3004,
        ProductRackStock_SetDefaultRack = 3005,
        ProductRackStock_DeleteByRacks = 3006,
        ProductRackStock_OADownLoad = 3007,
        ProductShiftWhiteList_Add = 4001,
        ProductShfitWhiteList_Update = 4002,
        ProductShiftWhiteList_Delete = 4003,
        PurchasePackage_Add = 5001,
        PurchasePackage_Update = 5002,
        PurchasePackage_Update_Data = 5003,
        PurchasePackage_Update_Statu = 5004,
        PurchasePackage_Delete = 5005,
        PurchasePackage_OADownLoad = 5006,
        ProductShiftBatch_Main_Add = 6001,
        ProductShiftBatch_Main_Update = 6002,
        ProductShiftBatchItem_Add = 6003,
        ProductShiftBatchItem_Update = 6004,
        ProductShiftBatchItem_Main_Save = 6005,
        LostBill_AddOrUpdate = 7001,
        LostBill_DeleteMain = 7002,
        LostBill_DeleteItem = 7003,
        ProductShiftRequest_Add = 8001,
        ProductShiftRequest_Update = 8002,
        ProductShiftRequest_Status_Update = 8003,
        ProductShiftRequest_Complete_Update = 8004,
        ProductShiftRequest_Print_Status_Update = 8005,
        ProductShiftRequest_Delete = 8006,
        LostBillRequest_Add = 9001,
        LostBillRequest_Update = 9002,
        LostBillRequest_Delete = 9003,
        ProductCheckRequest_Add = 10001,
        ProductCheckRequest_Update = 10002,
        ProductCheckRequest_Delete = 10003,
    }
}
